export const apiMethods = window.public_api_methods;

// import axios from 'axios';
// import { ElMessage } from 'element-plus';
// import VueCookies from 'vue-cookies';

// // 请求拦截器
// axios.interceptors.request.use(config => {
//   // 参照pro项目传的请求信息
//   config.headers.token = sessionStorage.getItem('token');
//   config.headers.userid = sessionStorage.getItem('userid');
//   config.headers.orgid = sessionStorage.getItem('orgid') || 'MCC';
//   config.headers.projectid = sessionStorage.getItem('projectid');

//   return config;
// });
// // 响应拦截器
// // axios.interceptors.response.use(
// //   res => {
// //     // console.group('本次请求的路径地址是：' + res.config.url);
// //     // console.log(res);
// //     // console.groupEnd('拦截器结束');
// //     if (res.data.token) {
// //       sessionStorage.setItem('token', res.data.token);
// //       VueCookies.set('token', res.data.token);
// //     }
// //     if (res.data.errorCode && res.data.errorCode === '403') {
// //       sessionStorage.removeItem('token');
// //       VueCookies.remove('token');
// //       window.location.reload();
// //       window.top.location.reload();
// //     }
// //     return res;
// //   },
// //   rej => {
// //     if (rej?.code === 'ERR_NETWORK') ElMessage.error(rej.message);
// //     if (rej?.response?.status == 500) ElMessage.error(rej.message);
// //     return rej;
// //   }
// // );

// /*
//   get请求
//     url       请求地址
//     params    请求参数      如果需要传参就传一个对象类型的，如果不需要传参就不用传第二个实参
// */
// export const get = (
//   url,
//   params = {},
//   fileName = false,
//   format = '.xlsx',
//   blob = false,
//   headers = {}
// ) => {
//   if (fileName) {
//     return new Promise((resolve, error) => {
//       axios
//         .get(url, {
//           responseType: 'blob',
//           params: params,
//         })
//         .then(res => {
//           const blob = new Blob([res.data]);
//           const blobUrl = window.URL.createObjectURL(blob);
//           const aLink = document.createElement('a');
//           aLink.style.display = 'none';
//           aLink.href = blobUrl;
//           aLink.setAttribute('download', fileName + format);
//           document.body.appendChild(aLink);
//           aLink.click();
//           document.body.removeChild(aLink);
//           window.URL.revokeObjectURL(blobUrl);
//           resolve(res);
//         })
//         .catch(err => {
//           error(err);
//         });
//     });
//   } else if (blob) {
//     return new Promise((resolve, error) => {
//       axios
//         .get(url, {
//           responseType: 'blob',
//           params: params,
//         })
//         .then(res => {
//           resolve(res);
//         })
//         .catch(err => {
//           error(err);
//         });
//     });
//   } else {
//     return new Promise((resolve, error) => {
//       axios
//         .get(url, {
//           params: params,
//           headers: headers,
//         })
//         .then(res => {
//           resolve(res);
//         })
//         .catch(err => {
//           error(err);
//         });
//     });
//   }
// };

// /*
//   post请求
//     url     请求地址
//     params  请求参数    如果需要传参就传一个对象类型，如果不需要传参就不用传第二个参数
//     isFile  是否包含文件    如果包含文件就传true，如果不包含文件就不用传第三个参数
// */
// export const post = (url, params = {}, isFile = false, headers = {}) => {
//   let data = null;
//   if (isFile) {
//     // 包含文件 对象形式
//     data = new FormData();
//     for (let i in params) {
//       data.append(i, params[i]);
//     }
//   } else {
//     // 不包含文件
//     // data = qs.stringify(params);
//     data = params;
//   }

//   return new Promise((resolve, error) => {
//     axios
//       .post(url, data, { headers })
//       .then(res => {
//         if (res?.data.errorCode) {
//           if (res?.data.errorCode === '200') {
//             resolve(res?.data.data);
//           } else {
//             error(res?.data);
//           }
//         } else {
//           resolve(res);
//         }
//       })
//       .catch(err => {
//         error(err);
//       });
//   });
// };

// //下载压缩包
// export const post_zip = (url, params = {}, isFile = false) => {
//   // console.log(params, 1111);
//   // const { fileName, ...paramst } = params;
//   // console.log(fileName, 11);
//   return new Promise((resolve, error) => {
//     axios({
//       method: 'post', //请求方式
//       url: url,
//       responseType: 'blob',
//       data: params, //需要传的字段
//     })
//       .then(res => {
//         let blob = new Blob([res.data], {
//           type: `application/zip`, //word文档为msword,pdf文档为pdf
//         });
//         let objectUrl = URL.createObjectURL(blob);
//         let link = document.createElement('a');
//         let fname = params.fileName; //下载文件的名字
//         link.href = objectUrl;
//         link.setAttribute('download', fname);
//         document.body.appendChild(link);
//         link.click();
//         resolve(res);
//       })
//       .catch(err => {
//         error(err);
//       });
//   });
// };

// // 导出
// export const post_export = (url, params = {}, isFile = false) => {
//   return new Promise((resolve, error) => {
//     axios({
//       method: 'post', //请求方式
//       url: url,
//       responseType: 'blob',
//       data: params, //需要传的字段
//     }).then(res => {
//       let blob = new Blob([res.data], {
//         type: `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8`,
//       });
//       let objectUrl = URL.createObjectURL(blob);
//       let link = document.createElement('a');
//       let fname = params.fileName; //下载文件的名字
//       link.href = objectUrl;
//       link.setAttribute('download', fname);
//       document.body.appendChild(link);
//       link.click();
//       resolve(res);
//     });
//   });
// };

// /**
//  * 下载
//  * @param {String} url - 请求地址
//  * @param {String} method - axios方法
//  * @param {Object} params - 需要传的字段
//  * @param {String} fileType - 文件类型：pdf/zip/word
//  * @param {Funciton} callback - 其他处理（如不传action则为全部处理）
//  */
// export const file_handler = ({
//   url = '',
//   method = 'get',
//   params = {},
//   fileType = 'pdf',
//   callback = () => {},
//   fail = () => {},
// }) => {
//   const nativeType = {
//     pdf: 'application/pdf;chartset=UTF-8',
//     zip: 'application/zip',
//     word: 'application/msword',
//     xlsx: 'application/xlsx',
//   };
//   const handleDownload = objectUrl => {
//     let link = document.createElement('a');
//     let fname = params.fileName; // 下载文件的名字
//     link.href = objectUrl;
//     link.setAttribute('download', fname);
//     document.body.appendChild(link);
//     link.click();
//     callback && callback(objectUrl);
//   };
//   axios({
//     method, //请求方式
//     url,
//     responseType: 'blob',
//     data: params,
//   })
//     .then(res => {
//       let blob = new Blob([res.data], {
//         type: nativeType[fileType],
//       });
//       let objectUrl = URL.createObjectURL(blob);
//       if (objectUrl) handleDownload(objectUrl);
//     })
//     .catch(rej => fail(rej));
// };
